This invention relates to data processing systems.
In data processing systems, it is well known to store data in a main store and to provide a smaller, faster slave store for holding copies of data items which are currently in use, these items being copied from the main store into the slave store on demand. The advantage of such a two-level storage arrangement is that it can have a high average access speed, approaching that of the slave store, but with a cost per bit of storage much lower than that of the slave store.
Various schemes have been proposed for mapping the data items from the main store on to the locations of the slave store. See for example the article "Concepts for Buffer Storage" by C. J. Conti in IEEE Computer Group News, March 1969, page 9. Some of these schemes involve a many-to-one mapping of the data; that is to say, each location of the slave store can hold a copy of any one of a plurality of different data items, while each data item in the main store can be copied into one particular location of the slave store only. An example of such a many-to-one mapping scheme is described on page 11 of the article mentioned above, under the heading "Direct Mapping Buffer".
Such a many-to-one mapping scheme is relatively easy to implement. However, it may sometimes be necessary or desirable to have two or more different data items simultaneously available in the slave, and this is clearly not possible where both of those items map on to the same location of the slave. The effect of this may be to slow the system down or even, in some cases, to prevent an operation being completed altogether.
An object of the present invention is therefore to provide a way of avoiding this problem.